package com.lintesis.lintesisview.webgui.protocolo.medicamento;

import org.zkoss.zul.Listheader;
import org.zkoss.zul.Textbox;

import com.lintesis.lintesismodel.common.hibernate.BussinessObject;
import com.lintesis.lintesismodel.common.hibernate.HibernateSearchObject;
import com.lintesis.lintesismodel.protocolo.Medicamento;
import com.lintesis.lintesisview.common.ListCtrl;

public class MedicamentoListCtrl extends ListCtrl<Medicamento>{

	private static final long serialVersionUID = -8758923770613154019L;

	Textbox tbNombre;
	Textbox tbLaboratorio;
	
	Listheader lhNombre;
	Listheader lhLaboratorio;
	Listheader lhDosisRecomendada;
	Listheader lhComposicion;
	
	@Override
	protected void doDefineOrders() {
		orders.put("nombre", lhNombre);
		orders.put("laboratorio", lhLaboratorio);
		orders.put("dosisRecomendada", lhDosisRecomendada);
		orders.put("composicion", lhComposicion);
	}

	@Override
	public void doSetSearchComponents() {
		searchComponents.add(tbNombre);
		searchComponents.add(tbLaboratorio);		
	}

	@Override
	protected String getABMDialogURL() {
		return "/Pages/protocolo/medicamento/medicamentoDialog.zul";
	}

	@Override
	public String getEntityName() {
		return "Medicamento";
	}

	@Override
	protected BussinessObject getNewEntidad() {
		Medicamento medicamento=new Medicamento();
		return medicamento;
	}

	@Override
	protected void setDefaultFilters() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void setDescripcionLarga() {
		// TODO Auto-generated method stub
		
	}

	@Override
	protected void setSearchFilters() {
		filters.put("nombre", "%"+tbNombre.getText()+"%");
		filters.put("lanoratorio", "%"+tbLaboratorio.getText()+"%");
		
	}
	
	@Override
	protected HibernateSearchObject<Medicamento> getNewHibernateSearchObject()
	{
			return new HibernateSearchObject<Medicamento>(Medicamento.class);
	}

}
